package nodes

import (
	"time"
)

// 表名也是cache的tag
var TableName = "nodes"

// node 内容
type Nodes struct {
	Id         int64  `xorm:"pk autoincr"  json:"id"`
	AuthorId   int64  `xorm:"integer notnull index 'author_id'" json:"author_id"`
	AuthorName string `xorm:"varchar(64) notnull index 'author_name'" json:"author_name"`

	Lang       int `xorm:"tinyint(4) notnull index 'lang'" json:"lang"`
	CategoryId int `xorm:"integer(11) notnull index 'category_id'" json:"category_id"`

	// 标题摘要封面图片和内容
	Title      string `xorm:"varchar(64) notnull 'title'" json:"title"`
	Summary    string `xorm:"varchar(256) notnull 'summary'" json:"summary"`
	ImageCover string `xorm:"varchar(256) null 'image_cover'" json:"image_cover"`
	Content    string `xorm:"TEXT notnull 'content'" json:"content"`

	// 评论状态 和 数量
	CommentState int `xorm:"tinyint(4) null default(0) 'comment_state'" json:"comment_state"`
	CommentCount int `xorm:"integer null default(0) 'comment_count'" json:"comment_count"`

	PublishTime int64 `xorm:"integer notnull index 'publish_time'" json:"publish_time"`
	State       int   `xorm:"tinyint(4) null default(0) 'state'" json:"state"`

	UpdatedAt time.Time `xorm:"updated DATETIME 'updated_at'" json:"updated_at"`

	// 忽略
	ImageCoverUrl string `xorm:"-" json:"image_cover_url"`
	CategoryTitle string `xorm:"-" json:"category_title"`
}
